import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'

Vue.use(Vuex)

export default new Vuex.Store({
  // actions对象中，放置着：一个一个用于响应组件中“动作”的方法（actions就是服务员宿舍）
  actions:{
    // jishujia这个服务员，专门用于执行奇数再加
    jishujia({state,commit},value){
      console.log('jishujia这个服务员被调用了')
      if(state.sum % 2){
        commit('JIA',value)
      }
    },
    // dengjia这个服务员，专门用于执行等一等再加
    dengjia({commit},value){
      console.log('dengjia这个服务员被调用了')
      setTimeout(() => {
        commit('JIA',value)
      }, 1000);
    },
    fuwujia({commit}){
      axios.get('https://api.uomg.com/api/rand.qinghua?format=json').then(
        response => {
          console.log(response.data.content)
          commit('JIA',response.data.content.length)
        },
        error => {
          alert(error.message)
        }
      )
    }
  },
  // mutations对象中，放置着：一个一个用于修改数据的方法（mutations就是厨师宿舍）
  mutations:{
    // JIA用于真正操作state完成加
    JIA(state,value){
      console.log('JIA这个厨师被调用了',state,value)
      state.sum += value
    },
    // JIAN用于真正操作state完成减
    JIAN(state,value){
      console.log('JIAN这个厨师被调用了')
      state.sum -= value
    }
  },
  // state中保存着数据
  state:{
    sum:1
  }
})

